package io.bhex.sdk.utils;

import android.text.TextUtils;

import io.bhex.baselib.core.SPEx;
import io.bhex.baselib.utils.JsonConvertor;
import io.bhex.sdk.data_manager.MMKVManager;

/**
 * ================================================
 * 作   者：ppzhao
 * 创建时间：2019-11-06
 * 邮   箱：
 * 描   述：
 * ================================================
 */

public class CacheUtils {
    public static void saveCache(String key,Object object) {
        String bannerJsonStr = JsonConvertor.getInstance().toJson(object);
        //缓存数据
        String bannerJsonStrCache = SPEx.get(key, "");
        if (!TextUtils.isEmpty(bannerJsonStr)&&!TextUtils.isEmpty(bannerJsonStrCache)) {
            if (bannerJsonStrCache.equals(bannerJsonStr)) {
                //数据相同，不再重复保存
                return;
            }
        }

        MMKVManager.getInstance().saveIndexMoudle(key,bannerJsonStr);//保存
    }

    public static String getCache(String key, String defaultValue) {
        return SPEx.get(key, defaultValue);
    }

    public static <T> T getCacheObject(String key, Class<T> clazz) {
        String cacheStr = MMKVManager.getInstance().loadIndexMoudle(key);
        if (!TextUtils.isEmpty(cacheStr)) {
            T object = JsonConvertor.getInstance().fromJson(cacheStr, clazz);
            return object;
        }else{
            return null;
        }

    }
}
